package modelo.lugaresYPistas;

import modelo.caracteristicas.ICaracteristica;

import org.w3c.dom.Element;
import org.w3c.dom.Document;
import org.w3c.dom.Node;


public class Pista implements IRespuesta{

	private static final Pista PISTAPORDEFECTO = new Pista("No he visto a nadie como la persona que buscas. ");
	private String texto;

	public Pista(String texto) {
		this.texto = texto;
	}
	
	public String getTexto() {
		return this.texto;
	}
	
	public Pista responder(){
		return this;	
	};

	public void agregarCaracteristica(ICaracteristica unaCaracteristica) {
		
		this.texto = (this.texto + unaCaracteristica.getDescripcion());
		
	}

	public Element serializar(Document doc) {
		
		Element element = doc.createElement("Pista");
		element.setAttribute("texto", this.texto);
		return element;
	}

	public static Pista hidratar(Node elementoPista) {
		
		
		String textoDeLaPista = ((Element)elementoPista).getAttribute("texto");
		Pista pistaCargada = new Pista(textoDeLaPista);
		return pistaCargada;
	}

	public static Pista getPistaPorDefecto() {
		
		return Pista.PISTAPORDEFECTO;
	}

	public Pista copiar() {
		return new Pista(this.texto);
	}
}
